METAMOD 2
=========

INTRODUCTION
------------

This directory is the top directory for METAMOD 2. METAMOD is a metadata
catalogue developed by the Norwegian Metrological Institute. METAMOD can
harvest metadata from several different sources and offers a web-based
search interface to the metadata catalogue.

METAMOD is written in Perl with some shell scripts for installation.

MODULES
-------

METAMOD 2.x is divided into seven separate modules:

METAMODBASE     Database for metadata describing scientific datasets and
                web-based management utilities for the database. All software
                for this module are contained in subdirectory: base.

METAMODWEB      Catalyst-based application for all web user interfaces.
                All software for this module are contained in subdirectory:
                catalyst.

METAMODUPLOAD   Data upload application. Includes programs for
                harvesting metadata from netCDF-files. All daemons for this
                module are contained in subdirectory: upload. The user interface
                is implemented in the catalyst subdirectory.

METAMODPMH      OAI-PMH server for metadata harvesting (implemented in the
                catalyst subdirectory.)

METAMODHARVEST  OAI-PMH client for metadata harvesting

METAMODTHREDDS  Automatic generation and maintenance of a thredds catalog XML
                file that makes new datasets visible through a thredds server.
                Note that use of a thredds server as an interface to the data
                repository is not dependent on this module, but if thredds is
                used without this module, a thredds catalog has to be
                maintained manually.

The modules can be used separately and in combination. An actual usage of
the software must be the result of an installation process, where the
modules to be used are chosen. An instance of the installed software,
comprising one or more modules, is called an application. An application not
using the METAMODBASE module must identify another application that use the
METAMODBASE module. Then the application will use the database in this other
module. Several applications may, in this way, share a common database, for
which one of the applications has the main responsibility.

DEPENDENCIES
------------

This software depends on the following external software which is not part
of the METAMOD 2.x distribution:

- PostgreSQL database system. Tested on version 8.4

- Apache 2.x web server with mod_proxy installed

- libxml and libxslt library from xmlsoft.org

- Proj4 library (http://proj.maptools.org)

- NetCDF software 3.x (x >= 5): libnetcdf, ncdump and ncgen (METAMODUPLOAD)

- Perl v5.8 with a whole host of Perl modules, of which Moose, Catalyst,
  Template Toolkit, DBIx::Class, HTTP::OAI, TheSchwartz, POE and
  Data::FormValidator are the most important. A complete list should be found in
  F<docs/metamod-deps.txt>.

METAMOD 2.x has been developed and tested using Ubuntu Linux 10.04, but
should work on most operating systems supporting the mentioned libraries.




